<?php

error_reporting(E_ALL);

/**
 * Корень вебсайта
 */
defined("RP") OR define("RP", dirname(__FILE__) . DIRECTORY_SEPARATOR);

spl_autoload_register("__autoload");

if (get_magic_quotes_gpc()) checkQuotes();

/*set_exception_handler(array(new Error(), "exception"));
set_error_handler(array(new Error(), "error"));*/

/**
 * Функция, реализующая автоподгрузку классов
 * @param string $className 
 * @return true
 */
function __autoload ($className) {
	if(preg_match('|^M[A-Z]|', $className)) $className = preg_replace ('|^M|', "Models_", $className);
	$className = RP . "inc" . DIRECTORY_SEPARATOR . str_replace("_", DIRECTORY_SEPARATOR, $className) . ".php";
	if (file_exists($className)) require_once $className;
	return true;
}

/**
 * Исправляем настройки кривых хостингов с включенным magic_quotes_gpc
 */
function checkQuotes () {
	$process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
	while (list($key, $val) = each($process)) {
		foreach ($val as $k => $v) {
			unset($process[$key][$k]);
			if (is_array($v)) {
				$process[$key][stripslashes($k)] = $v;
				$process[] = &$process[$key][stripslashes($k)];
			} else {
				$process[$key][stripslashes($k)] = stripslashes($v);
			}
		}
	}
	unset($process);
}